home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BOCA MegaMedia
/
BOCA MegaMedia.iso
/
qfd32
/
disk1.pak
/
HOST.SRP
< prev
next >
Wrap
Text File
|
1997-10-30
|
8KB
|
357 lines
'*******************************************************
'* Host Mode Script Version 1.0 *
'* Copyright Smith Micro Software, Inc. (c) 1995 *
'*******************************************************
INTEGER BaudRate
INTEGER FALSE = 0
INTEGER TRUE = 1
INTEGER CANCEL = -1
INTEGER INPUT_TIMEOUT
INTEGER host_timeout = FALSE
INTEGER host_continue
INTEGER RED = 31 ' ANSI color codes
INTEGER GREEN = 32
INTEGER YELLOW = 33
INTEGER CYAN = 36
STRING CurrentDir$
STRING StartupDir$
STRING TempDir$
STRING UserName$
STRING userString$
STRING thatSelection$ = "\r\nThe option you selected is not available to you.\r\n"
STRING accessDenied$ = "\r\nAccess denied.\r\n"
STRING tooLong$ = "\r\n\r\nYou took too long to respond.\r\n\r\nGoodbye!\r\n"
STRING invalid$ = "\r\nInvalid selection.\r\n"
'********************** main function for host mode script *********************
FUNCTION main()
INTEGER connect, i, nKey, rv, passing_data_call
host_continue = TRUE
passing_data_call = FALSE
connect = FALSE
INPUT_TIMEOUT = GetHostTimeout()
IF CarrierDetect() <> 0 THEN
passing_data_call = PassOffDataCall()
IF NOT passing_data_call THEN
Echo("\r\nWould you like to hangup the line? <Y/N>: ")
IF NOT GetUserInput(userString$, TRUE, INPUT_TIMEOUT, TRUE) THEN
HostOut(tooLong$)
RETURN
ENDIF
IF LEFT(userString$,1) = "Y" OR LEFT(userString$,1) = "y" THEN
WaitForSecs(2)
Hangup()
ELSEIF LEFT(userString$,1) = "N" OR LEFT(userString$,1) = "n" THEN
connect = TRUE
ENDIF
ELSE
connect = TRUE
ENDIF
ENDIF
IF NOT connect THEN
IF GetHostSpeed() <> 0 THEN
SetBaudRate(GetHostSpeed())
ENDIF
SetParity("N")
SetStopBits("1")
SetDataBits(8)
SendInit()
WaitForString("OK\r\n", 3)
ENDIF
StartupDir$ = GetDirectory()
WHILE host_continue
SetDirectory(GetHostPath())
CurrentDir$ = GetDirectory()
IF NOT connect THEN
Echo("\r\nWaiting for call...\r\n")
Echo("Press <ESC> to cancel or L to logon locally: ")
ENDIF
IF passing_data_call THEN
connect = FALSE
ENDIF
WHILE NOT connect AND host_continue
nKey = WaitForConnection()
IF nKey = 0 THEN
Beep()
WaitLogonDelay()
connect = TRUE
ELSEIF nKey = -1 THEN
Echo("\r\nHost mode canceled by operator\r\n")
host_continue = FALSE
EXITWHILE
ELSEIF nKey = 76 OR nKey = 108 THEN ' letter "L" or "l"
connect = TRUE
SetLocalHost(TRUE)
Echo("\r\nEntering host mode locally.\r\n")
ENDIF
WEND
IF host_continue <> 0 AND connect <> 0 THEN
DetectANSI()
rv = GetUserInfo()
IF rv <> 0 THEN
connect = FALSE
Hangup()
ELSE
WelcomeScreen()
HostMainMenu()
ENDIF
ENDIF
SetLocalHost(FALSE)
IF CarrierDetect() <> 0 THEN
Hangup()
ENDIF
connect = FALSE
host_timeout = FALSE
WEND
SetDirectory(StartupDir$)
ENDFUNCTION
'********************** main menu for the host mode *********************
FUNCTION HostMainMenu()
INTEGER host_online = TRUE
INTEGER user_online = FALSE
INTEGER bChat
STRING key$
WHILE CarrierDetect() AND host_online
SetFColor(CYAN, 1)
HostOut("\r\n Main Menu\r\n")
SetFColor(YELLOW, 1)
HostOut("\r\n F - File Access\r\n")
HostOut(" A - Account Display/Edit\r\n")
HostOut(" P - Page Host Operator\r\n")
HostOut(" X - Exit\r\n")
HostOut("\r\n")
SetFColor(GREEN, 1)
HostOut("\r\n Select a letter from this list, or ? for help: ")
WHILE GetUserInput(key$, TRUE, INPUT_TIMEOUT, TRUE)
SELECT LEFT(key$,1)
CASE "f", "F"
SetUserPath()
FileMenu()
EXITWHILE
CASE "a", "A"
AccountMenu()
EXITWHILE
CASE "p", "P"
bChat = PageOperator()
IF bChat = TRUE THEN
HostOut("\r\nEntering Chat mode...\r\n\n")
Chat()
HostOut("\r\nExiting Chat mode...\r\n\n")
ENDIF
EXITWHILE
CASE "x", "X"
HostOut("\r\nAre you sure? <Y/N>: ")
IF GetUserInput(key$, TRUE, INPUT_TIMEOUT, TRUE) <> 0 THEN
IF LEFT(key$,1) = "y" OR LEFT(key$,1) = "Y" THEN
SetDefaultPath()
HostOut("\r\nGoodbye!\r\n")
host_online = FALSE
ENDIF
ELSE
host_timeout = TRUE
ENDIF
EXITWHILE
CASE "?"
TempDir$ = GetHomePath() + "/HOSTHELP.TXT"
IF NOT OutFile(TempDir$) THEN
HostOut("\r\nNo help available.\r\n")
ENDIF
EXITWHILE
CASE DEFAULT
SetFColor(RED, 1)
HostOut("\r Select a letter from this list, or ? for help: ")
SetFColor(GREEN, 1)
ENDSELECT
WEND
IF LEFT(key$, 1) = "" THEN
host_timeout = TRUE
ENDIF
IF host_timeout <> 0 THEN
HostOut(tooLong$)
EXITWHILE
ENDIF
WEND
IF NOT CarrierDetect() THEN
Hangup()
ENDIF
ENDFUNCTION
'********************** file access menu *********************
FUNCTION FileMenu()
STRING key$
WHILE CarrierDetect()
HostOut("\r\n")
SetFColor(YELLOW, 1)
HostOut("\r\n U - Upload files\r\n")
HostOut(" D - Download files\r\n")
HostOut(" C - Change path\r\n")
HostOut(" L - List files\r\n")
HostOut(" X - Exit\r\n")
HostOut("\r\n")
SetFColor(GREEN, 1)
HostOut(" Select a letter from this list, or ? for help: ")
WHILE GetUserInput(key$, TRUE, INPUT_TIMEOUT, TRUE)
SELECT LEFT(key$,1)
CASE "d", "D"
IF UserCanDownload() <> 0 THEN
DownloadFiles()
ELSE
HostOut(thatSelection$)
ENDIF
EXITWHILE
CASE "u", "U"
IF UserCanUpload() <> 0 THEN
UploadFiles()
ELSE
HostOut(thatSelection$)
ENDIF
EXITWHILE
CASE "c", "C"
IF UserCanChangeDir() <> 0 THEN
ChangePath()
ELSE
HostOut(thatSelection$)
ENDIF
EXITWHILE
CASE "l", "L"
ListFiles()
EXITWHILE
CASE "x", "X"
RETURN
CASE "?"
TempDir$ = GetHomePath() + "/HOSTHELP.TXT"
IF NOT OutFile(TempDir$) THEN
HostOut("\r\nNo help available.\r\n")
ENDIF
EXITWHILE
CASE DEFAULT
SetFColor(RED, 1)
HostOut("\r Select a letter from this list, or ? for help: ")
SetFColor(GREEN, 1)
ENDSELECT
WEND
IF LEFT(key$,1) = "" THEN
host_timeout = TRUE
ENDIF
IF host_timeout <> 0 THEN
EXITWHILE
ENDIF
WEND
ENDFUNCTION
'********************** account displat/edit menu *********************
FUNCTION AccountMenu()
STRING key$
WHILE CarrierDetect()
HostOut("\r\n")
HostOut("\r\n User: ")
HostOut(GetUserName())
HostOut("\r\n")
SetFColor(YELLOW, 1)
HostOut("\r\n S - Display statistics on your account")
HostOut("\r\n A - Display or Edit account information")
HostOut("\r\n X - Exit\r\n")
SetFColor(GREEN, 1)
HostOut("\r\n Select a letter from this list, or ? for help: ")
WHILE GetUserInput(key$, TRUE, INPUT_TIMEOUT, TRUE)
SELECT LEFT(key$,1)
CASE "s", "S"
DisplayStatistics()
EXITWHILE
CASE "a", "A"
DisplayEdit()
EXITWHILE
CASE "x", "X"
RETURN
CASE "?"
TempDir$ = GetHomePath() + "/HOSTHELP.TXT"
IF NOT OutFile(TempDir$) THEN
HostOut("\r\nNo help available.\r\n")
ENDIF
EXITWHILE
CASE DEFAULT
SetFColor(RED, 1)
HostOut("\r Select a letter from this list, or ? for help: ")
SetFColor(GREEN, 1)
ENDSELECT
WEND
IF LEFT(key$,1) = "" THEN
host_timeout = TRUE
ENDIF
IF host_timeout <> 0 THEN
EXITWHILE
ENDIF
WEND
ENDFUNCTION